Project 8 - Due Tue Nov 5 at 23:00
Reading
- Slides and notebooks from the files lecture and the list comprehensions and sorting lecture
- Problems and solutions from Lab 8 (Nested Loops) are still relevant, but the focus is on Lab 9 (Tracing & Files).
- Think Python, Chapter 14 covers files. Sections 14.1, 14.2, and 14.5 are most relevant to what we cover, with 14.4 becoming relevant next week.
Tasks
The instructions for each task:
-
Task 1: Transcript Manager — Write functions which operate on chat transcripts and use file I/O to store their results in output files. For this task, having a partner is optional but recommended.
-
Task 2: Shape Sorter — Write functions using list comprehensions to create & filter lists of polygon specifications, and using sorting to change their order. Finally write a function to draw those polygons so you can see the results. For this task, having a partner is optional but recommended.
- Task 3: Measure Munger — Write functions using list comprehensions to create & filter lists of musical measure specifications, and using sorting to change their order. Finally write a function to play those measures so you can hear the results. For this task, having a partner is optional but recommended.
About this Project
These tasks will give you practice with file input/output, and some general review of previous concepts including conditionals, function definitions, and nested loops. They will also give you practice with list comprehensions and sorting.
You are required to do the transcriptManager
task, and you must do one
of the shapeSorter
or measureMunger
tasks (so you need to do 2
tasks in total, one of which must be transcriptManager
).
NOTE: The measureMunger
task will be released shortly; for now only
the transcriptManager
and shapeSorter
tasks are available.
If you want to find a partner to work with for this project, use this Google Sheet to do so.
Reminders
- Remember to download the starter code for each task from the Potluck server.
Time Estimate
Our per-task estimate for this project is 2-4 hours, plus up to an hour of reading.
How to turn in this Project
-
Upload your tasks via the Potluck server by the deadline (Tue Nov 5 at 23:00).
- For transcriptManager, each team member must submit
transcriptManager.py
. - For shapeSorter, each team member must submit
shapeSorter.py
. - For measureMunger, each team member must submit
measureMunger.py
.
- For transcriptManager, each team member must submit
-
Double-check the status of your submitted tasks, since there may be warnings.
-
Reminder: you can submit as many times as you like, and only the most recent submission will count for your grade.
-
If you run into trouble with the submissions server, contact Peter Mawhorter, and include a copy of the file(s) you were trying to submit.
- Check your score for each task and submit revisions if you need to.